package com.mspbots.rule.exceptions.cw;


import com.mspbots.cw.request.TenantTimeEntryDTO;
import com.mspbots.rule.exceptions.BaseRule;
import org.jeasy.rules.annotation.Fact;

/**
 * com.mspbots.rule.exceptions.timeentry.IBaseRule
 *
 * @author Jun Zhou
 * @date 16:24 2019/6/18
 **/
public interface IcwBaseRule {


    String FACT_TSHEET_TIMES = "tsheetTimes";

    String RULE_PARAM1 = "param1";

    String RULE_PARAM2 = "param2";

    String RULE_PARAM3 = "param3";

    /**
     * TODO
     *
     * @param entry
     * @return boolean
     * @author Jun Zhou
     * @date 14:05 2019/6/18
     **/
    boolean condition(@Fact(BaseRule.FACT) TenantTimeEntryDTO entry);

    /**
     * TODO
     *
     * @param entry
     * @return void
     * @author Jun Zhou
     * @date 13:53 2019/6/18
     **/

    void action(@Fact(BaseRule.FACT) TenantTimeEntryDTO entry);
}
